package com.violet.uaa.server.security.config;

import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.security.oauth2.common.OAuth2AccessToken;
import org.springframework.security.oauth2.common.OAuth2RefreshToken;
import org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStore;

/**
 * 自定义的RedisTokenStore处理
 */
public class CustomRedisTokenStore extends RedisTokenStore {

    public CustomRedisTokenStore(RedisConnectionFactory connectionFactory) {
        super(connectionFactory);
    }

    // 从 Redis 中读取并返回对应的访问令牌
    @Override
    public OAuth2AccessToken readAccessToken(String tokenValue) {
        return super.readAccessToken(tokenValue);
    }

    // 从 Redis 中移除指定的访问令牌
    @Override
    public void removeAccessToken(OAuth2AccessToken accessToken) {
        super.removeAccessToken(accessToken);
    }

    // 使用刷新令牌来删除关联的访问令牌
    @Override
    public void removeAccessTokenUsingRefreshToken(OAuth2RefreshToken refreshToken) {
        super.removeAccessTokenUsingRefreshToken(refreshToken);
    }
}
